package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 活动对象 activity
 * 
 * @author ruoyi
 * @date 2025-01-12
 */
public class Activity extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 活动编码 */
    @Excel(name = "活动编码")
    private String activityId;

    /** 社群ID */
    @Excel(name = "社群ID")
    private String communityId;

    /** 活动标题 */
    @Excel(name = "活动标题")
    private String activityTitle;

    /** 活动详情 */
    @Excel(name = "活动详情")
    private String activityIntroduction;

    /** 活动状态 0-未开放，1报名中，2已结束，3取消 */
    @Excel(name = "活动状态 0-未开放，1报名中，2已结束，3取消")
    private Long activityStatus;

    /** 活动形式 0-线上，1线下，2混合 */
    @Excel(name = "活动形式 0-线上，1线下，2混合")
    private Integer activityType;

    /** 活动分类 */
    @Excel(name = "活动分类")
    private Long activityClassification;

    /** 经度 */
    @Excel(name = "经度")
    private BigDecimal longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    private BigDecimal latitude;

    /** 地址 */
    @Excel(name = "地址")
    private String activityAddress;

    /** 报名回答问题 */
    @Excel(name = "报名回答问题")
    private String question;

    /** 主理人电话 */
    @Excel(name = "主理人电话")
    private String managerPhone;

    /** 主理人微信 */
    @Excel(name = "主理人微信")
    private String managerWechat;

    /** 主理人微信群链接图片 */
    @Excel(name = "主理人微信群链接图片")
    private String managerWechatGroupPic;

    /** 隐私性设置类型：1公开：所有人均可看到，均可报名
2仅社群成员参加：所有人均可看到，仅社群成员才能报名 */
    @Excel(name = "隐私性设置类型：1公开：所有人均可看到，均可报名2仅社群成员参加：所有人均可看到，仅社群成员才能报名")
    private Integer privacyType;

    /** 创建活动用户Id */
    @Excel(name = "创建活动用户Id")
    private Long userId;

    /** 活动开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "活动开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime startTime;

    /** 活动结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "活动结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime endTime;

    /** 更新者 */
    @Excel(name = "更新者")
    private String updateUser;

    /** 是否有效 1有效 0 无效 */
    @Excel(name = "是否有效 1有效 0 无效")
    private Long yn;

    /** 创建者 */
    @Excel(name = "创建者")
    private String createUser;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setActivityId(String activityId) 
    {
        this.activityId = activityId;
    }

    public String getActivityId() 
    {
        return activityId;
    }

    public void setCommunityId(String communityId) 
    {
        this.communityId = communityId;
    }

    public String getCommunityId() 
    {
        return communityId;
    }

    public void setActivityTitle(String activityTitle) 
    {
        this.activityTitle = activityTitle;
    }

    public String getActivityTitle() 
    {
        return activityTitle;
    }

    public void setActivityIntroduction(String activityIntroduction) 
    {
        this.activityIntroduction = activityIntroduction;
    }

    public String getActivityIntroduction() 
    {
        return activityIntroduction;
    }

    public void setActivityStatus(Long activityStatus) 
    {
        this.activityStatus = activityStatus;
    }

    public Long getActivityStatus() 
    {
        return activityStatus;
    }

    public void setActivityType(Integer activityType)
    {
        this.activityType = activityType;
    }

    public Integer getActivityType()
    {
        return activityType;
    }

    public void setActivityClassification(Long activityClassification) 
    {
        this.activityClassification = activityClassification;
    }

    public Long getActivityClassification() 
    {
        return activityClassification;
    }

    public void setLongitude(BigDecimal longitude) 
    {
        this.longitude = longitude;
    }

    public BigDecimal getLongitude() 
    {
        return longitude;
    }

    public void setLatitude(BigDecimal latitude) 
    {
        this.latitude = latitude;
    }

    public BigDecimal getLatitude() 
    {
        return latitude;
    }

    public void setActivityAddress(String activityAddress) 
    {
        this.activityAddress = activityAddress;
    }

    public String getActivityAddress() 
    {
        return activityAddress;
    }

    public void setQuestion(String question) 
    {
        this.question = question;
    }

    public String getQuestion() 
    {
        return question;
    }

    public void setManagerPhone(String managerPhone) 
    {
        this.managerPhone = managerPhone;
    }

    public String getManagerPhone() 
    {
        return managerPhone;
    }

    public void setManagerWechat(String managerWechat) 
    {
        this.managerWechat = managerWechat;
    }

    public String getManagerWechat() 
    {
        return managerWechat;
    }

    public void setManagerWechatGroupPic(String managerWechatGroupPic) 
    {
        this.managerWechatGroupPic = managerWechatGroupPic;
    }

    public String getManagerWechatGroupPic() 
    {
        return managerWechatGroupPic;
    }

    public void setPrivacyType(Integer privacyType)
    {
        this.privacyType = privacyType;
    }

    public Integer getPrivacyType()
    {
        return privacyType;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setStartTime(LocalDateTime startTime)
    {
        this.startTime = startTime;
    }

    public LocalDateTime getStartTime()
    {
        return startTime;
    }

    public void setEndTime(LocalDateTime endTime)
    {
        this.endTime = endTime;
    }

    public LocalDateTime getEndTime()
    {
        return endTime;
    }

    public void setUpdateUser(String updateUser) 
    {
        this.updateUser = updateUser;
    }

    public String getUpdateUser() 
    {
        return updateUser;
    }

    public void setYn(Long yn) 
    {
        this.yn = yn;
    }

    public Long getYn() 
    {
        return yn;
    }

    public void setCreateUser(String createUser) 
    {
        this.createUser = createUser;
    }

    public String getCreateUser() 
    {
        return createUser;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("activityId", getActivityId())
            .append("communityId", getCommunityId())
            .append("activityTitle", getActivityTitle())
            .append("activityIntroduction", getActivityIntroduction())
            .append("activityStatus", getActivityStatus())
            .append("activityType", getActivityType())
            .append("activityClassification", getActivityClassification())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("activityAddress", getActivityAddress())
            .append("question", getQuestion())
            .append("managerPhone", getManagerPhone())
            .append("managerWechat", getManagerWechat())
            .append("managerWechatGroupPic", getManagerWechatGroupPic())
            .append("privacyType", getPrivacyType())
            .append("userId", getUserId())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("createTime", getCreateTime())
            .append("updateUser", getUpdateUser())
            .append("updateTime", getUpdateTime())
            .append("yn", getYn())
            .append("createUser", getCreateUser())
            .toString();
    }
}
